Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions
نویسنده
چکیده
This paper sketches a foundation for programming with higher-order abstract syntax and explicit substitutions based on contextual modal type theory [NPP05]. Contextual modal types not only allows us to cleanly separate the representation of data objects from computation, but allow us to recurse over data objects with free variables. In this paper, we extend these ideas even further by adding first-class contexts and substitutions so that a program can pass and access code with free variables and an explicit environment, and link them in a type-safe manner. We sketch the static and operational semantics of this language, and give several examples which illustrate these features.
منابع مشابه
Practical Programming with Higher-Order Encodings and Dependent Types
Higher-order abstract syntax (HOAS) refers to the technique of representing variables of an object-language using variables of a meta-language. The standard first-order alternatives force the programmer to deal with superficial concerns such as substitutions, whose implementation is often routine, tedious, and error-prone. In this paper, we describe the underlying calculus of Delphin. Delphin i...
متن کاملFunctional Programming with Logical Frameworks
Functional Programming with Logical Frameworks Adam Brett Poswolsky 2008 Logical frameworks are languages used to represent information. In this dissertation we present the Delphin programming language, which is a functional programming language with a logical framework supporting both higher-order abstract syntax and dependent types. Higher-order abstract syntax, or HOAS, refers to the techniq...
متن کاملHigher-Order Rewriting via Conditional First-Order Rewriting in the Open Calculus of Constructions
Although higher-order rewrite systems (HRS) seem to have a first-order flavor, the direct translation into first-order rewrite systems, using e.g. explicit substitutions, is by no means trivial. In this paper, we explore a two-stage approach, by showing how higher-order pattern rewrite systems, and in fact a somewhat more general class, can be expressed by conditional first-order rewriting in t...
متن کاملFunctional programming with dependently-typed higher-order data
This paper explores a new point in the design space of functional programming: functional programming with dependently typed higher-order data structures described in the logical framework LF. This allows us to program with proofs. The contributions of this paper are twofold: First, we present a syntax-directed bidirectional type system that distinguishes between dependently typed data and comp...
متن کاملA Higher-Order Abstract Syntax Approach to the Verified Compilation of Functional Programs
This thesis concerns the verified compilation of functional programming languages. Functional programming languages, or functional languages for short, provide a high degree of abstraction in programming and their mathematical foundation makes programs written in them easy to analyze and to be proved correct. Because of these features, functional languages are playing an increasingly important ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 174 شماره
صفحات -
تاریخ انتشار 2007